home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / data / dora / doradset.plp < prev    next >
Text File  |  1995-03-21  |  17KB  |  683 lines

  1. /*    データライブラリ スイッチ用リスト作成    */
  2. %MDdlib{
  3.     [dnld,mode]
  4.     var    SLine    [120];
  5.     var    forum    [8];
  6.     var    libno    [4];
  7.     var    dataname[12];
  8.     var    datafile[64];
  9.     var    docfile    [12];
  10.     forum:=@tail(dnld,{forum=},{;});
  11.     libno:=@tail(dnld,{libno=},{;});
  12.     dataname:=@tail(dnld,{dataname=},{;});
  13.     docfile:=@FileND(@tail(dnld,{docfile=},{;}));
  14.     datafile:=@FileND(@tail(dnld,{datafile=},{;}));
  15.     SLine:=Mode|{Data Lib   }|forum|{         };
  16.     SLine:=@getchar(SLine,1,23)|{Lib:}|libno|{   };
  17.     SLine:=@getchar(SLine,1,39)|{ Data:}|datafile;
  18.     SLine:=@getchar(SLine,1,57)|{ Doc:}|docfile;
  19.     SLine:=@getchar(SLine,1,79)|CRLF;
  20.     im(SLine);
  21.     };
  22. /*    プロフィール情報 スイッチ用リスト作成    */
  23. %MDprof{
  24.     [dnld,mode]
  25.     var    SLine    [120];
  26.     var    id    [127];
  27.     id:=@tail(dnld,{profile=},{;});
  28.     SLine:=Mode|{プロフィール    ID:}|@nth(id,1,{,});
  29.     case(@nth(id,2,{,})<>{},
  30.         {Yes},{SLine:=SLine|{-}});
  31.     SLine:=@getchar(SLine,1,79)|CRLF;
  32.     im(SLine);
  33.     };
  34. /*    DLリスト スイッチ用リスト作成    */
  35. %MDdllst{
  36.     [dnld,mode]
  37.     var    SLine    [120];
  38.     var    liblist    [3];
  39.     liblist:=@tail(dnld,{filbord=},{;});
  40.     SLine:=Mode|{DLリスト    }|NET|{         };
  41.     SLine:=@getchar(SLine,1,23)|{Lib:}|liblist;
  42.     SLine:=@getchar(SLine,1,79)|CRLF;
  43.     im(SLine);
  44.     };
  45. /*    全員のプロファイルリスト スイッチ用リスト作成    */
  46. %MDprolst{
  47.     [dnld,mode]
  48.     var    SLine    [120];
  49.     SLine:=Mode|{全員のプロファイルリスト  取得}|NET|{         };
  50.     SLine:=@getchar(SLine,1,79)|CRLF;
  51.     im(SLine);
  52.     };
  53. /*    アップロード予約状況表示用試作パイロット    Ver 0.10 (右裸眼だ)(笑)    */
  54. %MakeDisp{
  55.     var    line    [3];
  56.     var    CtlLine    [256];
  57.     var    Mode    [5];
  58.     madd(memono+1,{});
  59.     mclear(memono+1);
  60.     line:=0;
  61.     loop    ({
  62.         line:=line+1;
  63.         CtlLine:={};
  64.         CtlLine:=@memo(memono,line,1);
  65.         case    (CtlLine<>{},
  66.             {Yes},
  67.             {
  68.             case    (@getchar(CtlLine,1,5),
  69.                 {保留;},
  70.                 {Mode:={保留 };CtlLine:=@getchar(CtlLine,6)},
  71.                 ,
  72.                 {Mode:={予約 }}
  73.                 );
  74.             madd(memono+1,
  75.                 @case    (@head(CtlLine,{=}),
  76.                 {forum},    {MDdlib(CtlLine,Mode)},
  77.                 {profile},    {MDprof(CtlLine,Mode)},
  78.                 {filbord},    {MDdllst(CtlLine,Mode)},
  79.                 {allprofile},    {MDprolst(CtlLine,Mode)},
  80.                 {\n},        {im(CRLF)},
  81.                 ,        {im({  未定義}|CRLF)}
  82.                 )
  83.                 );
  84.             im({Yes});
  85.             },
  86.             {No},{im({No})}
  87.             );
  88.         });
  89.     };
  90. /*    オートダウンロード制御ファイル作成処理    */
  91. %SETDOWN1{
  92.     loop    ({
  93.         footnote({ダウンロード元を指定して下さい});
  94.         SNDMSG({erande_f.snd});
  95.         select    ({ダウンロード元を指定して下さい},
  96.             Wtime4,            {im({No})},
  97.             {データダウン指定},    {AUdlib;im({Yes})},
  98.             {全員のプロフィール情報},    {AUallprf;im({Yes})},
  99.             {プロフィール情報},    {AUprof;im({Yes})},
  100.             {     終  了     },    {im({No})}
  101.             )
  102.         });
  103.     CloseAllMemo;
  104.     mclear(memono);
  105.     case    (@filechk(TEMP2|{doradown.wrk}),
  106.         {Yes},{mread(TEMP2|{doradown.wrk},memono)}
  107.         );
  108.     };
  109.  
  110. /*    データライブラリからのダウンロード制御文作成    */
  111. %AUdlib
  112.     {
  113.     footnote({データライブラリからのダウンロード制御文作成});
  114.     var    forum    [8];
  115.     var    libno    [3];
  116.     var    dataname[12];
  117.     var    datafile[64];
  118.     var    docfile    [64];
  119.     var     ok[2];
  120.     loop    ({
  121.         SNDMSG({nyuryo_f.snd});
  122.         %a    @plane(    {cデータライブラリからのダウンロード\n}|
  123.                 {t ネット名 /xxxxxxxx\n}|
  124.                 {cCUGボードの場合はネット名の代わりに\n}|
  125.                 {cパスワードを入力して下さい\n}|
  126.                 {tライブラリ番号/xxx\n}|
  127.                 {tデータ名称/xxxxxxxxxxxx\n}|
  128.                 {tデータファイル/\n}|
  129.                 {s              ファイル一覧/ 選択 \n}|
  130.                 {t 概要ファイル /\n}|
  131.                 {r ダウンロード予約 /予約  /保留\n}|
  132.                 {s              /  登録  /  取消  \n},
  133.             @SCANPW(libno),libno,dataname,datafile,docfile,1);
  134.         forum:=        @head(@getline(a,1,1),{\n});
  135.         libno:=        @head(@getline(a,2,1),{\n});
  136.         dataname:=    @head(@getline(a,3,1),{\n});
  137.         datafile:=    @head(@getline(a,4,1),{\n});
  138.         %sel1        @head(@getline(a,5,1),{\n});
  139.         docfile:=    @head(@getline(a,6,1),{\n});
  140.         %reserv        @head(@getline(a,7,1),{\n});
  141.         ok:=        @head(@getline(a,8,1),{\n});
  142.         im({No});    /* 右クリック時のデフォルト値 */
  143.         case    (sel1,
  144.             { 1},
  145.             {
  146.             footnote({});
  147.     case(FSW={},
  148.         {Yes},{setcdir(LOG2|{FREESOFT\})},
  149.         {No},{setcdir(FSW)});
  150.             datafile:=@FILEsel1;
  151.             docfile:=@body(datafile,,{.})|{.ggg};
  152.             im({Yes});
  153.             });
  154.         case    (ok,
  155.             { 1},
  156.             {
  157.             case    ((datafile={}||@getchar(datafile,2,2)={:\})&&
  158.                  @getchar(docfile,2,2)={:\},
  159.                 {No},
  160.                 {
  161.                 footnote({ファイル名はドライブからの}|
  162.                     {フルパスで指定してください});
  163.                 im({Yes});
  164.                 },
  165.                 {Yes},
  166.                 {
  167.                 case    (@filechk(datafile)||datafile=docfile,
  168.                     {Yes},
  169.                     {
  170.                     footnote({データファイル名が}|
  171.                         {重複しています});
  172.                     im({Yes});
  173.                     },
  174.                     {No},
  175.                     {
  176.                     case    (forum<>{} && libno<>{} &&
  177.                     dataname<>{} && datafile<>{},
  178.                     {Yes},
  179.                     {
  180.                     %res1    @RESERV(reserv)|
  181.                         {forum=}|forum|{;}|
  182.                         {libno=}|libno|{;}|
  183.                         {dataname=}|dataname|{;}|
  184.                         {docfile=}|docfile|{;}|
  185.                         {datafile=}|datafile|{;\n};
  186.                     write(TEMP2|{doradown.wrk},res1);
  187.                     im({No});
  188.                     },
  189.                     {No},{im({Yes})})
  190.                     });
  191.                 });
  192.             },
  193.             { 2},{im({No})}
  194.             );
  195.         });
  196.     };
  197.  
  198. /*    ダウンロードファイル指定処理    */
  199. %FILEsel1{
  200.     var    dnfile    [64];
  201.     SNDMSG({erande_f.snd});
  202.     dnfile:=@filesel;
  203.     case(dnfile<>{},{Yes},{dnfile:=@dir2(@getcdir)|dnfile});
  204.     im(dnfile);
  205.     };
  206.  
  207. /*    プロフィール情報のダウンロード制御文作成    */
  208. %AUallprf{footnote({全員のプロフィール情報ダウンロード制御文作成});
  209.     loop    ({
  210.         SNDMSG({nyuryo_f.snd});
  211.         %a    @plane(    {c全員のプロフィール情報ダウンロード\n}|
  212.                 {r ダウンロード予約 /予約  /保留\n}|
  213.                 {s              / 登録 / 取消 \n},
  214.                 1);
  215.         %reserv    @head(@getline(a,1,1),{\n});
  216.         %ok    @head(@getline(a,2,1),{\n});
  217.         im({No});    /* 右クリック時のデフォルト値 */
  218.         case    (ok,
  219.             { 1},
  220.             {
  221.             %cntl    @RESERV(reserv)|{allprofile=;};
  222.             write(TEMP2|{doradown.wrk},cntl|{\n});
  223.             im({No});
  224.             },
  225.             { 2},{im({No})}
  226.             );
  227.         });
  228.     };
  229. %AUprof{
  230.     footnote({プロフィール情報ダウンロード制御文作成});
  231.     var    id    [90];
  232.     id:={};
  233.     loop    ({
  234.         SNDMSG({nyuryo_f.snd});
  235.         %a    @plane(    {cプロフィール情報ダウンロード\n}|
  236.                 {t   ID番号   /\n}|
  237.                 {c       カンマ「,」で区切って複数指定可能 \n}|
  238.                 {s              / 検索 \n}|
  239.                 {r ダウンロード予約 /予約  /保留\n}|
  240.                 {s              / 登録 / 取消 \n},
  241.                 id,1);
  242.         id:=    @head(@getline(a,1,1),{\n});
  243.         %search    @head(@getline(a,2,1),{\n});
  244.         %reserv    @head(@getline(a,3,1),{\n});
  245.         %ok    @head(@getline(a,4,1),{\n});
  246.         im({No});    /* 右クリック時のデフォルト値 */
  247.         case    (search,
  248.             { 1},
  249.             {
  250.             %id1    @IDsearch;
  251.             case    (id1<>{},
  252.                 {Yes},
  253.                 {
  254.                 case    (id<>{},
  255.                     {Yes},{id:=id|{,}|id1},
  256.                     {No},{id:=id1}
  257.                     );
  258.                 });
  259.             im({Yes})}
  260.             );
  261.         case    (ok,
  262.             { 1},
  263.             {
  264.             %cntl    @RESERV(reserv)|{profile=}|id|{;};
  265.             write(TEMP2|{doradown.wrk},cntl|{\n});
  266.             im({No});
  267.             },
  268.             { 2},{im({No})}
  269.             );
  270.         });
  271.     };
  272.  
  273. /*    オートダウンロード制御ファイル更新処理    */
  274. %UPDATE1{
  275.     var    LineNo    [6];
  276.     LineNo:=@xlinenum;
  277.     %MaxLine@nolmemo(memono);
  278.     case    (LineNo>MaxLine,
  279.         {Yes},{LineNo:=MaxLine},
  280.         {No},{case(LineNo<1,{Yes},{LineNo:=1})}
  281.         );
  282.     %dnld    @memo(memono,LineNo,1);
  283.     case    (@head(dnld,{=}),
  284.         {forum},    {UPDATE(@UPDdlib(dnld))},
  285.         {保留;forum},    {UPDATE(@UPDdlib(dnld))},
  286.         {profile},    {UPDATE(@UPDprof(dnld))},
  287.         {保留;profile},    {UPDATE(@UPDprof(dnld))},
  288.         {filbord},    {UPDATE(@UPDfblst(dnld))},
  289.         {保留;filbord},    {UPDATE(@UPDfblst(dnld))},
  290.         ,        {CloseAllMemo}
  291.         );
  292.     };
  293.  
  294. %UPDATE    {
  295.     [new]
  296.     case    (new,
  297.         dnld,        /* 変更無し */
  298.         {CloseAllMemo},
  299.         {},        /* 削除 */
  300.         {
  301.         CloseAllMemo;
  302.         mclear(memono);
  303.         case    (LineNo>1,
  304.             {Yes},
  305.             {madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))}
  306.             );
  307.         case    (LineNo<MaxLine,
  308.             {Yes},
  309.             {madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))}
  310.             );
  311.         mwrite(TEMP2|{doradown.wrk},memono);
  312.         },
  313.         ,        /* 変更あり */
  314.         {
  315.         CloseAllMemo;
  316.         mclear(memono);
  317.         case    (LineNo>1,
  318.             {Yes},
  319.             {madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))}
  320.             );
  321.         madd(memono,new);
  322.         case    (LineNo<MaxLine,
  323.             {Yes},
  324.             {madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))}
  325.             );
  326.         mwrite(TEMP2|{doradown.wrk},memono);
  327.         });
  328.     };
  329.  
  330. /*    データライブラリからのダウンロード制御文更新    */
  331. %UPDdlib{
  332.     [dnld]
  333.     footnote({データライブラリからのダウンロード制御文更新});
  334.     var    forum    [8];
  335.     var    libno    [4];
  336.     var    dataname[64];
  337.     var    datafile[64];
  338.     var    docfile    [64];
  339.     var    ok    [2];
  340.     var    reserv    [2];
  341.     reserv:=@case    (@head(dnld,{;}),
  342.             {保留},{im({ 2})},
  343.             ,{im({ 1})}
  344.             );
  345.     forum:=        @tail(dnld,{forum=},{;});
  346.     libno:=        @tail(dnld,{libno=},{;});
  347.     dataname:=    @tail(dnld,{dataname=},{;});
  348.     datafile:=    @tail(dnld,{datafile=},{;});
  349.     docfile:=    @tail(dnld,{docfile=},{;});
  350.     loop    ({
  351.         SNDMSG({nyuryo_f.snd});
  352.         %a    @plane(    {cファイルボードからのダウンロード\n}|
  353.                 {t ネット名 /xxxxxxxx\n}|
  354.                 {tファイルボード番号/xxx\n}|
  355.                 {tデータ名称/xxxxxxxxxxxx\n}|
  356.                 {tデータファイル/\n}|
  357.                 {s              ファイル一覧/ 選択 \n}|
  358.                 {t 概要ファイル /\n}|
  359.                 {s              ファイル一覧/ 選択 \n}|
  360.                 {r ダウンロード予約 /予約  /保留\n}|
  361.                 {s              / 登録 / 削除 / 取消 \n},
  362.                 forum,libno,dataname,datafile,docfile,reserv);
  363.         forum:=        @head(@getline(a,1,1),{\n});
  364.         libno:=        @head(@getline(a,2,1),{\n});
  365.         dataname:=    @head(@getline(a,3,1),{\n});
  366.         datafile:=    @head(@getline(a,4,1),{\n});
  367.         %sel1        @head(@getline(a,5,1),{\n});
  368.         docfile:=    @head(@getline(a,6,1),{\n});
  369.         %sel2        @head(@getline(a,7,1),{\n});
  370.         reserv:=    @head(@getline(a,8,1),{\n});
  371.         ok:=        @head(@getline(a,9,1),{\n});
  372.         case    (sel1,{ 1},
  373.             {
  374.             footnote({});
  375.             datafile:=@FILEsel1;
  376.             docfile:=@body(datafile,,{.})|{.ggg};
  377.             im({Yes});
  378.             });
  379.         case    (sel2,{ 1},
  380.             {
  381.             footnote({});
  382.             docfile:=@FILEsel1;
  383.             im({Yes});
  384.             });
  385.         case    (ok,
  386.             { 1},
  387.             {
  388.             case    ((datafile={}||@getchar(datafile,2,2)={:\}) &&
  389.                  @getchar(docfile,2,2)={:\},
  390.                 {No},
  391.                 {
  392.                 footnote({ファイル名はドライブからの}|
  393.                     {フルパスで指定してください});
  394.                 im({Yes});
  395.                 },
  396.                 {Yes},
  397.                 {
  398.                 case    (@filechk(datafile)||datafile=docfile,
  399.                     {Yes},
  400.                     {
  401.                     footnote({データファイル名が}|
  402.                         {重複しています});
  403.                     im({Yes});
  404.                     },
  405.                     {No},
  406.                     {
  407.                     im(@RESERV(reserv)|{forum=}|forum|
  408.                         {;libno=}|libno|{;dataname=}|
  409.                         dataname|{;docfile=}|docfile|
  410.                         {;datafile=}|datafile|{;\n});
  411.                     });
  412.                 });
  413.             },
  414.             { 2},{im({})},
  415.             { 3},{im(dnld)},
  416.             ,{case(sel1={ 0}&&sel2={ 0},{Yes},{im(dnld)})}
  417.             );
  418.         });
  419.     };
  420.  
  421. /*    プロフィール情報のダウンロード制御文更新    */
  422. %UPDprof{
  423.     [dnld]
  424.     footnote({プロフィール情報ダウンロード制御文作成});
  425.     var    id    [90];
  426.     var    ok    [2];
  427.     var    reserv    [2];
  428.     reserv:=@case    (@head(dnld,{;}),
  429.             {保留},{im({ 2})},
  430.             ,{im({ 1})}
  431.             );
  432.     id:=    @tail(dnld,{profile=},{;});
  433.     loop    ({
  434.         SNDMSG({nyuryo_f.snd});
  435.         %a    @plane(    {cプロフィール情報ダウンロード\n}|
  436.                 {t   ID番号   /\n}|
  437.                 {c       カンマ「,」で区切って複数指定可能 \n}|
  438.                 {s              / 検索 \n}|
  439.                 {r ダウンロード予約 /予約  /保留\n}|
  440.                 {s              / 登録 / 削除 / 取消 \n},
  441.                 id,reserv);
  442.         id:=    @head(@getline(a,1,1),{\n});
  443.         %search    @head(@getline(a,2,1),{\n});
  444.         reserv:=@head(@getline(a,3,1),{\n});
  445.         ok:=    @head(@getline(a,4,1),{\n});
  446.         case    (search,
  447.             { 1},
  448.             {
  449.             %id1    @IDsearch;
  450.             case    (id1<>{},
  451.                 {Yes},
  452.                 {
  453.                 case    (id<>{},
  454.                     {Yes},{id:=id|{,}|id1},
  455.                     {No},{id:=id1}
  456.                     );
  457.                 });
  458.             im({Yes})}
  459.             );
  460.         case    (ok,
  461.             { 1},{im(@RESERV(reserv)|{profile=}|id|{;\n})},
  462.             { 2},{im({})},
  463.             { 3},{im(dnld)},
  464.             ,{case(search={ 0},{Yes},{im(dnld)})}
  465.             );
  466.         });
  467.     };
  468. /*    ファイルボード情報のダウンロード制御文更新    */
  469. %UPDfblst{
  470.     [dnld]
  471.     footnote({ファイルボード情報ダウンロード制御文作成});
  472.     var    lib    [3];
  473.     var    ok    [2];
  474.     var    reserv    [2];
  475.     reserv:=@case    (@head(dnld,{;}),
  476.             {保留},{im({ 2})},
  477.             ,{im({ 1})}
  478.             );
  479.     lib:=    @tail(dnld,{filbord=},{;});
  480.     loop    ({
  481.         SNDMSG({nyuryo_f.snd});
  482.         %a    @plane(    {cファイルボード情報ダウンロード\n}|
  483.                 {t   ファイルボード番号   /xxx\n}|
  484.                 {s              / 検索 \n}|
  485.                 {r ダウンロード予約 /予約  /保留\n}|
  486.                 {s              / 登録 / 削除 / 取消 \n},
  487.                 lib,reserv);
  488.         lib:=    @To3(@head(@getline(a,1,1),{\n}));
  489.         %search    @head(@getline(a,2,1),{\n});
  490.         reserv:=@head(@getline(a,3,1),{\n});
  491.         ok:=    @head(@getline(a,4,1),{\n});
  492.         case    (search,
  493.             { 1},{MorL:={LiB};
  494.             %lib1    @MLserch(lib);
  495.             case    (lib1<>{},{Yes},{lib:=lib1});
  496.             im({Yes})
  497.             });
  498.         case    (ok,
  499.             { 1},{im(@RESERV(reserv)|{filbord=}|mes|{;\n})},
  500.             { 2},{im({})},
  501.             { 3},{im(dnld)},
  502.             ,{case(search={ 0},{Yes},{im(dnld)})}
  503.             );
  504.         });
  505.     };
  506. /*ファイルコピー*/
  507. %FILECOPY{
  508.     footnote({読み込むファイルを選択してください});
  509.     setcdir(UP);    %file    @filesel;
  510.     case    (file={},
  511.         {Yes},{CloseAllMemo},
  512.         {No},
  513.         {
  514.         CloseAllMemo;
  515.         madd(memono+1,{\n});
  516.         mclear(memono+1);
  517.         case(@filechk(file),{Yes},{mread(file,memono+1)});
  518.         mopen(memono,0,21,639,240,{r});mclose(1);
  519.         mopen(memono+1,0,241,639,459,{r} );
  520.         select({このファイル内容を追加してもいいですか?},
  521.             Wtime4,{CloseAllMemo},
  522.             {  O K },
  523.             {
  524.             CloseAllMemo;
  525.             write(TEMP2|{doradown.wrk},@memo(memono+1));
  526.             mclear(memono);
  527.             mread(TEMP2|{doradown.wrk},memono);
  528.             },
  529.             { N G },{CloseAllMemo}
  530.             )})};
  531. /*手動編集*/
  532. %HANDEDIT{
  533.     CloseAllMemo;
  534.     mopen(memono,0,21,639,459,{w});
  535.     loop    ({
  536.         footnote({終了      取消},{b});waitx();
  537.         case    (@xtype,
  538.             101,
  539.             {
  540.             CloseAllMemo;
  541.             mwrite(TEMP2|{doradown.wrk},memono);
  542.             im({No});
  543.             },
  544.             201,
  545.             {
  546.             CloseAllMemo;
  547.             mwrite(TEMP2|{doradown.wrk},memono);
  548.             im({No})
  549.             },
  550.             105,
  551.             {
  552.             CloseAllMemo;
  553.             mclear(memono);
  554.             case    (@filechk(TEMP2|{doradown.wrk}),
  555.                 {Yes},{mread(TEMP2|{doradown.wrk},memono)}
  556.                 );
  557.             im({No})},
  558.             205,
  559.             {
  560.             CloseAllMemo;
  561.             mclear(memono);
  562.             case    (@filechk(TEMP2|{doradown.wrk}),
  563.                 {Yes},{mread(TEMP2|{doradown.wrk},memono)}
  564.                 );
  565.             im({No});
  566.             },
  567.             ,{im({Yes})});
  568.         })};
  569. /*ダウンロード予約を保留する(UP&DWN SET)*/
  570. %WAIT1    {
  571.     var    LineNo    [6];
  572.     LineNo:=@xlinenum;
  573.     %MaxLine@nolmemo(memono);
  574.     case    (LineNo>MaxLine,
  575.         {Yes},
  576.         {LineNo:=MaxLine},
  577.         {No},
  578.         {case(LineNo<1,{Yes},{LineNo:=1})}
  579.         );
  580.     %line1    @memo(memono,LineNo,1);
  581.     case    (@getchar(line1,1,5)={保留;}||line1={},
  582.         {Yes},        /* 変更無し */
  583.         {InactMemo},
  584.         {No},        /* 変更あり */
  585.         {
  586.         InactMemo;
  587.         mclear(memono);
  588.         case(LineNo>1,{Yes},
  589.             {madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))});
  590.         madd(memono,{保留;}|line1);
  591.         case(LineNo<MaxLine,{Yes},
  592.             {madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))});
  593.         mwrite(TEMP2|{doradown.wrk},memono);
  594.         });
  595.     };
  596. /*DWNロード保留を解除(予約)する)*/
  597. %RESERVE1{
  598.     var    LineNo    [6];
  599.     LineNo:=@xlinenum;
  600.     %MaxLine@nolmemo(memono);
  601.     case    (LineNo>MaxLine,
  602.         {Yes},
  603.         {LineNo:=MaxLine},
  604.         {No},
  605.         {case(LineNo<1,{Yes},{LineNo:=1})}
  606.         );
  607.     %line1    @memo(memono,LineNo,1);
  608.     case    (@getchar(line1,1,5),
  609.         {保留;},    /* 変更あり */
  610.         {
  611.         CloseAllMemo;
  612.         mclear(memono);
  613.         case(LineNo>1,{Yes},
  614.             {madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))});
  615.         madd(memono,@getchar(line1,6));
  616.         case(LineNo<MaxLine,{Yes},
  617.             {madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))});
  618.         mwrite(TEMP2|{doradown.wrk},memono);
  619.         },
  620.         ,{CloseAllMemo}    /* 変更なし */
  621.         );
  622.     };
  623. /*    オートダウンロード制御ファイル作成メインループ    */
  624. %SETDOWN{
  625.     [memono]
  626.     CloseAllMemo;
  627.     delfile(TEMP2|{doradown.wrk});
  628.     copyfile(UP2|{doradown.ctl},TEMP2|{doradown.wrk});
  629.     madd(memono,{\n});
  630.     mclear(memono);
  631.     case    (@filechk(TEMP2|{doradown.wrk}),
  632.         {Yes},{mread(TEMP2|{doradown.wrk},memono)}
  633.         );
  634.     loop    ({
  635.         MakeDisp;
  636.         mopen(memono+1,0,21,639,459,{r});
  637.         footnote({終了  取消    変更保留予約追加  読込編集},
  638.             {b});
  639.         waitx();
  640.         case    (@xtype,
  641.             101,
  642.             {
  643.             delfile(UP2|{doradown.ctl});
  644.             copyfile(TEMP2|{doradown.wrk},UP2|{doradown.ctl});
  645.             im({No});
  646.             },
  647.             201,
  648.             {
  649.             delfile(UP2|{doradown.ctl});
  650.             copyfile(TEMP2|{doradown.wrk},UP2|{doradown.ctl});
  651.             im({No});
  652.             },
  653.             103,{im({No})},        203,{im({No})},
  654.             106,{UPDATE1;im({Yes})},206,{UPDATE1;im({Yes})},
  655.             107,{WAIT1;im({Yes})},    207,{WAIT1;im({Yes})},
  656.             108,{RESERVE1;im({Yes})},
  657.             208,{RESERVE1;im({Yes})},
  658.             109,{SETDOWN1;im({Yes})},
  659.             209,{SETDOWN1;im({Yes})},
  660.             111,{FILECOPY;im({Yes})},
  661.             211,{FILECOPY;im({Yes})},
  662.             112,{HANDEDIT;im({Yes})},
  663.             212,{HANDEDIT;im({Yes})},
  664.             memono+1,{UPDATE1;im({Yes})},
  665.             ,{InactMemo;im({Yes})}
  666.             );
  667.         });
  668.     DeleteMemo(memono);
  669.     };
  670.  
  671. /*    オートダウンロード制御ファイル作成処理    */
  672. footnote({アップダウン制御ファイルのセットアップを行います});
  673. %memono    @mlast+1;
  674. case    (memono>7,
  675.     {No},{SETDOWN(memono)},
  676.     {Yes},
  677.     {
  678.     SNDMSG    ({kaknin_f.snd});
  679.     select    ({メモ7-9の内容が消去されます  よろしいですか?},
  680.         Wtime4,,
  681.         { は い },{SETDOWN(7)},
  682.         { いいえ },);
  683.     });